COMPUTERSYSTEMSLABORATORY DEPARTMENTS OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE STANFORD UNIVERSITY • STANFORD. CA 94305-2192 The SUN Workstation Architecture Andreas Bechtotsheim Forest Baskett Vaughan Pratt Technical Report No. 229 March 1 982 The SUN Workstation Architecture Andreas Bechtolsheim, Forest Baskett, Vaughan Pratt Computer Systems Laboratory Stanford University Stanford, CA 94305 Technical Report 229 March 1982 Abstract The SUN workstation is a personal computer system that combines graphics and networking capabilities with powerful local processing. The workstation has been developed for research in VLSI design automation, text processing, distributed operating systems and programming environments. Clusters of SUN workstations are connected via a local network sharing a network-based file system. The SUN workstation is based on the Motorola 68000 processor, has a 1024 by 800 pixel bitmap display, and uses Ethernet as its local network. The hardware supports virtual memory management, a "RasterOP" mechanism for high-speed display updates, and data-link-control for the Ethernet. The entire workstation electronics consists of 260 chips mounted on three 6.75 by 12 inch PC boards compatible with the IEEE-796 Bus (Intel Multibus). In addition to implementing a workstation, the boards have been configured to serve as network nodes for file servers, printer servers, network gateways, and terminal concentrators. This report discusses the architecture and implementation of the SUN workstation, gives the background and the goals of the project, contemplates future developments, and describes in detail its three main components: the processor, graphics, and ethernet boards. Keywords: Workstation, Personal Computer, Local Networks, Graphics CR Categories: 6.21,8.2 This work has been supported in part by the Defense Advanced Research Projects Agency under order DARPA-MDA-903-C-0680 and in part by Stanford University Computer Science Department. UNIX is a trademark of Bell Laboratories and Multibus is a trademark of Intel Corporation. Copyright © 1982 Stanford University SUN Workstation Architecture Int roduction The SUN workstation is a powerful modular network-based graphics workstation. Its prinnary use is as a personal computer with high resolution high performance graphics capabilities and substantial local processing power. Its modularity permits it to be reconfigured for a variety of applications, including support for networks of SUN workstations in the form of printer servers, file servers, terminal concentrators, and gateways. Such a system provides a suitable hardware base to support research in design automation, advanced text processing, office automation, distributed systems, computer aided manufacturing, robotics, and other interactive graphical computing tasks. The SUN workstation consists of a bitmap display, keyboard, network connection, and processor. A "mouse" pointing device may be connected to the keyboard. The display has 1024 by 800 pixel resolution and can show arbitrary raster images, thus permitting variable width fonts, foreign alphabets, mathematical symbols, vectors, curves, shaded regions, and even photographic pictures, on a full page display on either portrait or landscape mode monitors. The SUN workstation uses Ethernet as its local network. The Ethernet connection allows many SUN workstations to be tied together to exchange messages and electronic mail and to share services such as file storage and printing. The processor is based on the Motorola 68000 CPU, extended with virtual memory management hardware. The design allows a 10 MHz 68000 to operate at full speed without wait states. Display 1024 *800 Ethernet Cable c Keyboard > Ethernet Interface Graphics Subsystem 68QQa Processor Figure 1: The SUN Workstation The following sections describe the background and rationale of the project, the network architecture, configurations of SUN workstation&, implementation goals and tradeoffs, and the three components of the basic workstation: the processor, graphics, and ethernet boards. 2 SUN Workstation Architecture Design Rationale The architecture of the 70's is not well-matched to the hardware of the 80's. Powerful large* memory processors suited to a broad spectrum of applications are becoming too cheap to be worth the effort of timesharing. High-speed local networks permit mass storage, printers, special-purpose processors, communications interfaces, and other resources to be located and shared for optimal cost and speed of access. High resolution high performance displays previously only available to specialized markets are becoming available to the ordinary user, presenting new opportunities for effective user interfaces in such areas as document preparation, software development, computer- aided design, and information management. The qualitative in today's designs depends heavily on the quantitative. A processor with a quarter of a megabyte of memory, segment-and-page memory mapping, and a CPU close in performance to a VAX-1 1/780 for a broad range of applications, can be built from $1000 worth of integrated circuits. It becomes difficult to justify buying a conventional mainframe, allocating basement space for it, and pulling terminal cables throughout the building, when for less money one can buy 50 computers and put them on the desks of their users. The computer-per-desk model would of course be flawed if large, noisy, and expensive peripherals had to go on the desk beside the computer. This is where the network comes in. All the traditional peripheral functions and services of a computing environment can be distributed over the network, sharing resources for optimal cost, replicating services where needed for performance and reliability reasons, Thanks to the speed of today's networks, it has become thinkable to interpose a network between the computer and its disk drive. The speed of a 10 MBit/sec Ethernet matches the data rate of SMD disk drives and permits mass storage to be shared among a local cluster of workstations. A disk connected via a network to ten personal computers offers essentially the same performance as a disk directly connected to a computer timeshared by ten users, provided the network is not overloaded with other non-disk tasks. Another parameter that affects design qualitatively is the display. A high-resolution, high-speed display, which can show a full page of text and images virtually instantaneously, opens up new applications and new alternatives for many tasks. Consider the problem of having many more characters than keys on the keyboard. If the image of a nonstandard keyboard, say with Greek or mathematical symbols, can be superimposed instantaneously on the screen, and removed just as instantaneously, the need for keytops with many symbols per keytop disappears. Although a display with 1024 by 800 pixel resolution is slightly more expensive than traditional lower-resolution displays, the tremendous human-factor advantage of high resolution more than justifies any residual price difference between the two technologies as they move into high volume production. SUN Workstation Architecture 3 SUN: The Stanford University Network In Fall 1979, the Computer Science Department at Stanford University began installation of a campus-wide experimental Ethernet network. The initial network connected 18 Xerox Altos, Dover Laserprinter, and Fileserver, all donated by Xerox Corporation, along with two VAX-1 1/780 computers located in Margaret Jacks Hall. Since then the network has been extended to the Computer Systems Laboratory and the Center for Integrated Systems, and has been connected via a gateway to the Stanford University Medical Center's Ethernet. Besides the initial computers, these networks now have connected to them 4 more VAX-1 1/780 computers, 5 Xerox Dolphins, the SAIL KL-10, the SUMEX KI-10, DecSystem 2020, and PDP-11, and the SCORE DecSystem 2060 computers. Counting the 10 Sun workstations also on the net, there are more than 40 computers presently connected. Two gateways between the Ethernets and the ARPA network allow users of the Stanford University Network to communicate electronically with other researchers throughout the country and even overseas. 2060 CERAS 2040 Terman (LOTS) R (Eng.) Stanford Ethernet Planned Extensions [gI Repeater, Gateway lOurand (ISL) 2 VAX 3033 AEL CIT 2060 Alto 1 2 VAX 1 1066 ERL iPing (CSL) Alto Hall 1066 SUMEX 2020 I Alto Figure 2: The SUN Network 4 SUN Workstation Architecture The SUN Workstation Environment The SUN workstation depends on the SUN network environment for a variety of services, including communication, file storage, printing, and bootstrapping. These services are provided by dedicated network nodes that themselves may be a particular configuration of a SUN workstation. Server nodes can be replicated on a network when appropriate to enhance performance, reliability, availability, or accessability. For a distributed operating system the network file system is a particularly important issue, since the basic SUN workstation has no local secondary storage. We are currently planning a network file system that combines the logical simplicity of centralized file storage with the performance of local file caches. To this end, the network is organized as many subnets each supporting a cluster of SUN workstations. Remote Ethernet CH Disk SUN Gateway/Fileserver Local. Ethernet D C 3 to 10 SUN Workstations Figure 3: A SUN Workstation Cluster Figure 3 illustrates a typical workstation cluster. From one to ten or more SUN workstitions share a local Ethernet and a local fileserver. The local fileserver in turn is connected to othe» Ethernets to access a logically central but physically network-wide distributed file system. The local file server functions as a gateway, a file cache, and a swapping device. As a gateway it connects the local Ethernet to its neighbors. As a cache it maintains copies of active files, those currently in local use. As a swapping device it provides swapping and paging services to the workstations in the local cluster, isolating this traffic from the remote Ethernet. SUN Workstation Architecture 5 SUN Workstation Components The SUN workstation is divided into three basic components: the processor, the graphics, and the Ethernet subsystem. Each one of these is implemented as a single board electrically and mechanically compatible with the IEEE-796 Bus or Intel Multibus. The choice of the Intel Multibus makes the SUN workstation compatible with the board products of over 100 board and system manufacturers. A basic SUN workstation consists just of these three board types. When an application demands, the basic workstation can be enhanced with additional capabilities, such as color graphics, expanded memory, or additional communication facilities. We shall now describe the most salient features of these boards. More detailed descriptions sufficient for programming the boards can be found in the user manual of each board [VLSI Systems]. SUN Processor Board The SUN Processor board is the main component of the SUN workstation. It combines a 10 MHz 68000/68010, virtual memory management, 256k bytes of main memory, and input/output on a single board compatible with the IEEE 796 Bus. The processor can execute from on-board memory without wait states. On-board memory is expandable from 256K bytes to 51 2K bytes or 1M bytes with the SUN memory expansion board. With offboard (Multibus) memory a total of 2 megabytes of physical memory is directly addressable at any one time. On-board input/output includes two high-speed programmable serial channels, a 16-bit input port for configuration control, and five 16-bit timers. One of the timers can be configured as watch-dog timer for auto-reload in remote applications. SUN Memory Management The SUN Memory Management Unit has been designed to support a multitasking operating system such as Bell Lab's UNIX. It provides address translation, protection, sharing, and memory allocation for a multiprocess environment. All accesses of the processor to on-board RAM memory, 796-Bus memory, and 796-Bus I/O space are translated and protected in an identical fashion. Further, the SUN memory management provides all the necessary mechanism for demand paging and virtual memory, anticipating the appearance of the 68010 virtual memory processor. The memory management consists of a context register, a segment map, and a page map. Virtual addresses from the 68000 are translated into intermediate addresses by the segment map and then into physical addresses by the page map. The organization of the memory management system is shown in Figure 4 below. The page size is 2K bytes, the segment size is 32K bytes, and up to 16 contexts can be mapped concurrently. The maximum logical address space for a context on the SUN 68000 board is 1024 pages or 2M bytes. A total of 8M bytes can be addressed from the page map, however, the maximum physical address space that can be mapped simultaneously is 2M bytes. The context register is a four-bit register, accessible only in system state, that can switch to any of the 16 sections of the segment map with one 68000 move instruction. This permits 16 contexts to be mapped concurrently; more than 16 contexts can be handled by treating the segment map as a context cache, replacing out-of-date contexts on a least-recently-used or other basis. Each context has its own virtual address space. Sharing and intercontext communication may be implemented at either the segment or page level. SUN Workstation Architecture r Context Segment Map (23 bits) RFU: Reserved for Future Use Figure 4: The SUN 68000 IVIennory IVIanagennent Protection is associated with the segment map; each segment has a protection code permitting one of 16 classes of access modes allowing read, write, and execute cycles in supervisor and user states. The page map handles paging and the allocation of physical memory. A page map entry also indicates the physical address space in which a page is located, such as on-board or off-board memory. Further, the page map assists demand paging algorithms by maintaining reference and modified bits for each page. The organization of the memory management in conjunction with the page control bits provides all the necessary mechanisms to implement demand paging and virtual memory. If either the segment map or the page map indicates an invalid segment or page during translation, the MMU will send a bus error signal to the processor. The operatiny system will then check whether the access was in error or whether the fault was due to a missing page. In the latter case, the missing page needs to be loaded into main memory. If all page entries are in use, a page must be replaced. Full virtual memory capability is possible with the 68010 processor, the virtual-memory version of the 68000. The original 68000 processor cannot fully recover from page faults because it does not save sufficient state information to continue an aborted instruction. However, for a limited set of operations, such as load and store, recovery from aborted instructions is straightforward. With additional software assistance, recovery from more complex addressing modes appears feasible. SUN Workstation Architecture 7 — SUN Graphics Board , _ The SUN Graphics Subsystem combines a high-resolution display (up to 1024 by 1024 pixels) with a high-speed "RasterOp" update mechanism (screen fill in 64 milliseconds). The displayed image is stored in a 1024 by 1024 pixel frame buffer that can be used either with a portrait or landscape mode monitor. 1024 by 600 pixels are actually displayed, the remaining 224 by 1024 invisible pixels are available as a cache to store characters, cursors, and other graphical symbols. The frame buffer is implemented as a special dual-port memory. One port is dedicated to video refresh, the other port permits the frame buffer to be updated. In addition to the frame buffer memory, the SUN graphics board provides the video refresh logic and special hardware to assist in frame buffer updates. The actual updating is performed by the main processor, which in combination with the graphics hardware can perform updates at a rate of up to 32 MBit/sec (one read-modify-write cycle on a 16-bit operand per microsecond). RasterOp Architecture The SUN Graphics system incorporates the concept of "RasterOp" [Ingalls, Newman&Sproull]. RasterOp means that rectangular areas of display data ("raster") are modified or combined according to a preselected operation ("Op"). The RasterOp function provides complete generality to paint characters, manipulate windows, scroll screens, and to draw vectors. An example for RasterOp is shown in Figure 5, in which source characters are copied to a destination in the frame buffer. 1023,1023 Portrait Mode Display Figure 5: A RasterOp Operation 8 SUN Workstation Architecture RasterOp grew out of an attempt to unify the treatment of text and bitmap graphics in the early history of Smalltalk [Ingalls]. It was then implemented on the Xerox Alto computer as a microcoded instruction called BitBIt, for Bit Boundary Block Transfer [Thacker et al]. The Alto BitBIt instruction provides 8 Boolean functions each combining a source raster with a destination. The SUN graphics system implements a generalized version of RasterOP, allowing one, two, or three operands which are referred to as destination, source, and mask operand. Any one of the 266 possible ternary Boolean functions on these three operands can be selected. The destination is the operand being changed in the frame buffer, the source is an operand to be combined with the destination, and the mask is a 16-bit pattern, aligned with the background, that is also combined with source and destination. Both source and mask operands can be loaded either from the frame buffer or from main memory. Other graphic functions such as vector drawing, text, cursors, and multiple windows are provided for by soft\/are using the basic RasterOp mechanism. Hardware /Software Interface RasterOps are implemented by the SUN graphics system through a combination of hardware and software. In brief, the hardware supports a one by 16-pixel RasterOp primitive that can manipulate any row of consecutive pixels in the frame buffer. This hardware primitive is applied under software control to perform RasterOps on larger areas. Variable width fonts may be conveniently handled by setting a length register to the width of the character, causing the operation to be performed only on the width of the raster indicated. Notice that the graphics hardware does not incorporate anything like a microcoded graphics processor. Algorithmic control of the particular graphics operation, such as manipulating rectangles or drawing vectors, resides with the main workstation processor, making the SUN graphics system completely user programmable. The SUN graphics system has been optimized for an efficient interface between processor and frame buffer by incorporating sufficient registers to hold all state information relating to a particular raster operation. This allows raster operations to proceed at full speed without having to reload critical state information. Performaice The speed of graphics operations is set both by hardware and software. Rectangular area manipulation is performed at the rate of 16 pixels per microsecond, filling the visible screen in 46 milliseconds. Scrolling involves two accesses to the frame buffer, thus a full-screen scroll takes 96 mlllisecondr. A 16 by 16 pixel character can be written in 20 microseconds; at this rate the visible screen is fil ed with characters in 64 milliseconds (excluding higher level overhead). Vectors are drawn at a rate of about 1 pixel per microsecond, using raster-vector algorithms. SUN Workstation Architecture 9 SUN Ethernet Interface The SUN Ethernet board is a high-performance interface to the experimental 3 MBit/sec Ethernet. It is capable of supporting workstations, gateways, terminal concentrators, and servers with heavy net traffic. The board implements the Ethernet data link layer and physical layer functions and provides packet buffering. As shown in Figure 6, the SUN Ethernet board in conjunction with a transceiver unit provides a complete connection to the 3 MBit/sec Ethernet. The Ethernet interface consists of a receiver/transmitter front end, a receive-packet queue, and a transmit-packet buffer. Physical Layer Data Encoding/Decoding Channel Access Data-Link Layer Data Encapsulation (Startbit, ORG) Link Management (Collision handling) Exception Handling (Timeout etc.) 3 Mbit/sec Ethernet Tap Transceiver Serial Data TX RX Host I/O Bus Data- Link Controiler J-L Figure 6: The SUN Ethernet Interface Figure 7 shows a 3 Mbit/sec Ethernet packet. The packet contains a single start bit, followed by two 8-bit fields for destination address and source address respectively, a variable-length data field, and a 16-bit CRC code. The data field can be from 16 bytes to 2048 bytes long. Destination source StartBIt Address Address DATA CRC 1-Bit 8-Bit 8-Bit 16 TO 2046 Bytes 16 Bit J Figure 7: A 3 MBit/sec Ethernet Packet 10 SUN Workstation Architecture SUN Ethernet Board Functions The SUN Ethernet board performs all the Data Link Layer and Physical Layer functions for the 3 Mbit/sec Ethernet. These functions include transmit data encapsulation, transmit data encoding, transmit link management, receive data decoding, receive data decapsulation, and receive link management. The packet to be sent, including address and data fields, is prepared by the host computer and loaded into the on-board packet buffer. The SUN Ethernet interface then attempts to acquire the network and send the data. Successful delivery of a packet onto the network involves the functions of carrier deference, collision detection, and randomized retransmission according to the exponential backoff algorithm. During transmission, the SUN Ethernet interface computes the 16-bit CRC value and appends it at the end of the packet. An interrupt is generated when the packet has been sent or when the transmit attempt has been aborted due to timeout. Data from the Ethernet is decoded on the SUN Ethernet interface with a digital phase-locked loop and then converted from bit-serial into word-parallel form. After removing the start bit, the Ethernet interface checks the destination address of an incoming packets against an address filter. Accepted packets are placed into the receiver fifo buffer together with the packet status. The integrity of a received packet is validated by generating a CRC on the received bit stream and checking it against the CRC found in the packet. An interrupt is generated whenever the receiver queue is non-empty. The SUN Ethernet interface supports completely general multicast address recognition with a "bit- vector" address filter. This address filter is implemented as a 256-Bit RAM. For each of the possible 256 Ethernet addresses, the filter contains one bit that determines whether to accept packets with that address. High Performance The SUN Ethernet board has been designed to offer maximum performance while minimizing the service load placed on the host computer. To this end, the SUN Ethernet interface includes a 4 kilobyte receiver fifo that buffers the host computer system from the unpredictable arrival times of network traffic. A 4 kilobyte buffer size offers a latency of 5 milliseconds for packets with a maximum size of 2648 bytes. The SUN Ethernet interface is capable of handling back-to-back packets (multiple packets immediately following each other) and allows full-duplex transmission and reception (loopback packets). Thus it can receive packets sent to itself for complete self-testing. Using a zero-access-time port, the host processor interface supports high-speed data transfers at rates of up to 4 Mbyte/sec. The SUN Ethernet interface can simultaneously transmit packets, receive packets, and transfer packets on the IEEE-796 bus. SUN Workstation Architecture 11 SUN Workstation Configurations' Although the main design goal of the SUN workstation was to be a graphics workstation, a second and equally important goal was to provide a set of modular hardware components configurable for a variety of network nodes including terminal concentrators, printer servers, file servers, gateways, and processor servers. This goal was attained through the modular construction of the hardware. Different network nodes can be assembled using the SUN processor board, the Ethernet board, and other boards depending on the application. Nodes that have been built with SUN boards are described below. A terminal concentrator, or "Ethertip", connects RS-232 terminals or dial-up modems to host computers on the Ethernet, or via the ARPA gateway, on the ARPA net. Acting like a crosspoint switch between terminals and host computers, a concentrator allows any terminal to connect to any host computer on the network. The SUN Ethertip supports from 10 to 32 terminals at speeds of 9600 baud. A printer server controls a hardcopy device such as a lineprinter or laser printer. A request to print a file can be directed to the nearest printer server offering the appropriate level of service (ASCII text or graphics, monochrome or color, low or high volume, etc.) The Imagen printers in use at Stanford, based on the Canon LBP-10 laser printer, use the SUN processor board [Imagen Corporation]. A file server provides mass storage for the network. Separating file storage service from individual processors permits users to access their files from anywhere on the network and to share them with all users on the entire network. Mass file storage also offers lower cost for storage of inactive files than local file storage, permits better control of the backup function, and lends itself to redundancy techniques for better availability and access times for files requested from random locations. A gateway interconnects independent or different networks, isolating the traffic in each net and decoupling the networks. Gateways are a necessity for the SUN network because of the physical distance across the campus. A processor server is a multiprocessor system, providing processors as a network resource. One such system, the LOTS workstation, is presently under construction at Stanford for teaching computer programming. In this system each student's terminal is connected via a TIP on the Ethernet to one of a bank of 16 processors. Each processor is dedicated to that student for the duration of the session. In the expected use, a text editor and Pascal interpreter or compiler will remain resident on the processor [Nielsen]. 12 SUN Workstation Architecture Implementation Strategy The primary goal in implementing the SUN workstation was to design a system with the maximum performance offered by state-of-the art VLSI technology, using standard components and interfaces, at a price permitting each researcher to have a personal SUN workstation. We accomplished this using the following implementation strategy. • The use of mass-produced state-of-the-art technology. Today's integrated circuit technology renders possible the design of a high-performance yet affordable workstation. The SUN workstation has a raw computing power approaching 1 MIPS (million instructions per second), in a unit the size and price of presently available personal computers having neither graphics nor networking capabilities. • Maximum performance subject to the above technology constraint. Particular attention was paid to achieving a system that allows a 10 MHz 68000 processor to execute at full speed without wait states. The computational power of this system operating at 8 MHz has been benchmarked at more than 70% of a VAX 11/780 on a broad spectrum of non- numerical compute- bound applications written in the C programming language. • Optimization of hardware/software tradeoffs. Workstation functions were carefully analysed in terms of hardware/software implementations. Special-purpose hardware was added where needed to maximize performance, for example in the graphics system and the Ethernet interface. Functions were implemented in software where performance was not impaired. Some functions traditionally implemented in hardware, such as DMA and memory refresh, actually improved in performance by being implemented in software, due to elimination of arbitration overheads. • Adherence to popular industry standards where appropriate. Use of the Motorola 68000 processor, the Intel Multibus backplane, and the Xerox Ethernet greatly reduced design time and permitted attention to be focused on the areas most critical to the success of the workstation, namely the system level architecture and the graphics subsystem. These industry standards are precise and well-understood, leading to an effective partitioning of the design that justifies the term "modular." The popularity of these standards facilitates adaptation of the design to other applications for which hardware using those standards already exists. This implementation strategy led to a high-performance, yet simple and economical design. One measure for system complexity is the number of integrated circuits used. The SUN workstation incorporates a total of 260 packages, whereas comparable products on the market today have more than twice as many components. The economy of the SUN design is due to careful system level design, optimization of hardware/software tradeoffs, and the use of large scale integration whenever practical. SUN Workstation Architecture 13 Project History The SUN workstations grew out of the desire to have a display capability for the Stanford University Network [Baskett et al]. In May 1980, after a series of architectural discussions, the detailed design of the SUN workstation was started. By November 30, 1980, a first wirewrap prototype of the workstation had been built. During testing and debugging of this prototype a number of improvements led to a revised design. This "production" version of the design was completely tested and demonstrated on July 3, 1981. At this time, the processor board was already laid out as a printed circuit board, followed by the graphics board and Ethernet board over the next two months. On September 1, 1981, all layouts were completed and artwork was sent out to several companies for manufacturing. At the time of this writing, a combined manufacturing experience of several hundred SUN boards has been accumulated. It is estimated that two man-years went into the design of the SUN workstation up to its release for production. About one third of this time was spent developing design automation tools to support the design activity. An existing Stanford design automation system, SUDS, was used for schematic entry and printed circuit layout, enhancing it with a new physical design subsystem and interfacing it to the in-house typesetter machine for generating PC artwork. The time investment in CAD tools was a highly profitable one; it was returned in terms of saved time the first time the tools were used. All design errors that occurred in the design process were collected and categorized to provide feedback for the development of future design automation tools to prevent such errors. At about the time the design of the SUN hardware was being finalized, software support tools were developed, including diagnostics, debuggers, device drivers, and run-time support. All of these tools are written in the C language and were developed on a VAX 11/780 computer under the UC Berkeley version of the Bell UNIX operating system. A detailed description of this software environment may be found in the SUN software User's Guide [Nowicki]. Future Developments The SUN workstation design is driven by technology. As new chip components become available, they will be incorporated into the workstation, and the design has been formulated with an eye towards such enhancements, some of which are briefly discussed here. An important enhancement will be to full virtual memory. The SUN workstation has been designed to use the virtual memory version of the 68000, the 68010, without modifications. All hardware needed for adequate support of demand paging is already in place. The Ethernet interface will be upgraded to 10 MBit/sec as soon as suitable components become available. 3 MBit/sec Ethernets will continue to stay in service, connected to their 10 MBit/sec cousins via gateways. A number of enhanced graphics capabilities are planned, including color graphics and non- interlaced monochrome displays. A high-speed floating point geometric processor to perform matrix transformations, clipping and scaling is under development [Clark]. Finally, a file-server development is planned, including performance analysis of distributed file systems and defining efficient network file protocols. 14 SUN Workstation Architecture Acknowledgements The authors' contributions to this development are as follows. Forest Basket! conceived the idea of the Sun workstation and designed the memory management architecture. Andreas Bechtolsheim developed the graphics architecture and was responsible for the bulk of the design of the three boards. Vaughan Pratt has coordinated the project for the past year. Mike Nielsen and John Seamons contributed to the design of the Ethernet interface. Jeff Mogul and Bill Nowicki were indispensable assistants in assembling the SUN software development environment. Conclusions The SUN workstation architecture is based on the recognition that there is no economical advantage in attempting to share a computer system comprised of $1000 worth of integrated circuits, if that computer power can be put to productive use by an individual. However, the SUN workstation architecture achieves the economy of shared computer systems by sharing those components of a computing environment for which economies of scale apply: mass storage, printers, special-purpose computers and other pheripherals. Sharing is achieved through the local natwork, providing high-speed communication between personal workstations and shared resources. Thanks to the speed of today's networks, this communication path does not pose a bottleneck. The SUN workstation demonstrates that powerful local processing with high-performance graphics and networking capabilities can be attained in an economical system, that high-speed bit-map graphics is feasible with standard processors, and that the same base hardware can support a variety of network nodes and applications through modular construction. SUN Workstation Architecture 15 References F. Baskett, "Pascal and Virtual Memory in a 28000 or MC68000 Based Design Station, COMPCON 1980. F. Baskett, A. Bechtolsheim, W.Nowicki, and J.Seamons: "The SUN Workstation: a Terminal System for the Stanford University Network,*' Stanford Computer Science Dep., Internal Report, March 1980. A. Bechtolsheim and F. Baskett, '*High-performance Raster Graphics for Microcomputer Systems", Proceedings SIGGRA PH Conference, Seattle, July 1980. A. Bechtolsheim and D. J. Brown, "The SUN RasterOP", submitted to SIGGRAPH Conference, Boston, July 1982. Ji H. Clark, "The Geometry Engine: A VLSI Geometry System for Graphics", submitted to SIGGRAPH Conference, Boston, July 1982. Digital Equipment Corporation, Intel Corporation, and Xerox Corporation, The Ethernet, A Local Area Network, Data Link Layer and Physical Layer Specifications, September 1980. R. Boberg, "P'Oposed Microcomputer System 796 Bus Standard", Computer, October 1980. R. Greenblatt, "MIT's LISP Machine", COMPCON, 1980. Motorola Inc., "MC68000 16- bit Microprocessor User's Manual, IMC68000UM, 1980. , Imagen Corporation, "lmprint-10 Printing System", 1981. D. Ingalls, "The Smalltalk Graphics Kernel", Byte Magazine, Volume 6, No. 8, August 1981. R. Metcalfe and D. Boggs, "Ethernet: Distributed Packet Switching for Local Computer Networks", Communications of the ACM, 19, 7, July 1976. G. A. McDaniel: "The Dorado: A Compact, High-Performance Personal Computer for Computer Scientists", COMPCON 1980. W. M, Newman and R. F. Sproull, Principles of Interactive Computer Graphics, second edition, McGraw Hill, 1979. A. Newell, S. E. Fahlman, R. F. Sproull, and H. D. Wactlar, "CMU Proposal for Scientific Personal Computing", COMPCON, 1980. M. Nielsen, "SUN Student Workstation System Overview", Computer Science Department, Stanford University, 19£1. 'Al. Nowicki, ed., SUN User's Guide, Stanford, 1981. Brian Rosen, PERQ: "A Comercially Available Personal Scientific Computer", COMPCON, 1980. C. P. Thacker, E. M. McCreight, B. W. Lampson, R. F. Sproull, and D. R. Boggs, "Alto: A personal Computer", in Siewiorek, Bell, and Newell, eds., Computer Structures: Readings and Examples, McGraw Hill, 1979. S. Ward and C. Terman, "An Approach to Personal Computing", COMPCON, 1980. VLSI Systems Inc., "SUN 68000 Board, SUN Graphics Board, and SUN Ethernet Board User Manuals", 1981.